package 设计模式.结构型模式.门面模式facade;

/**
 * @Author kirito
 * @Date 2024/1/22 11:41
 * @PackageName:设计模式.门面模式facade
 * @ClassName: Test01
 * @Description:
 * @Version 1.0
 *
 * 门面模式的优点显而易见，客户端不再需要关注实例化时应该使用哪个实现类，直接调用门面提供的方法就可以了，
 * 因为门面类提供的方法的方法名对于客户端来说已经很友好了。
 *
 * 有点像应用层-service层，我不需要关注底层实现，我只需要调用它暴露给我的接口，
 * 然后我给他想要的参数，它给我结果即可
 */
public class Test01 {
    public static void main(String[] args) {
        ShapeMaker shapeMaker = new ShapeMaker();

        // 客户端调用现在更加清晰了
        shapeMaker.drawCircle();
        shapeMaker.drawRectangle();
        shapeMaker.drawSquare();
    }
}
